Chapitres  
   
Page Introduction
Page Installation
Page Presentation
Page  
Page

Les outils du DNS

Page Page d' acceuil
Page Sommaire
Page Retour
Page Suivant
Page imprimer
Page Envoyer à un(e) ami(e)

Les outils en mode ligne de commande

introduction

Il existe divers outils en ligne de commande permettant de vérifier le bon fonctionnement de la résolution de noms. On peut citer nslookup, DNScmd ou bien encore DNSlint. Seul nslookup est intégér au système d'exploitation. Les deux autres outils devront être installés avec les outils de support Windows 2003 server.

 

Utiliser nslookup

nslookup permet de tester la résolution des noms d'hôtes en adresses IP et inversement. Lorsque l'on tape nslookup en mode texte, une invite de commande apparaît. En outre le nom d'hôte et l'adresse IP du serveur DNS par défaut sont affichées.

Lorsque l'on tape un nom d'hôte ou un FQDN, nslookup renvoie l'adresse IP correspondante et indique éventuellement si la réponse fait ou non autorité sur le domaine. Dans l'exemple ci-contre, lorsque l'on tape le nom d'hôte client-7, le serveur DNS nommé dns-2.labomicrosoft.lan renvoie l'adresse IP 172.16.16.16 et rappelle le nom de domaine pleinement qualifié : client-7.labomicrosoft.lan.


 

Lorsque l'on tape une adresse IP, nslookup renvoie le nom de domaine pleinement qualifié correspondant et indique éventuellement si la réponse fait ou non autorité sur le domaine. Dans l'exemple ci-à-droite, lorsque l'on l'adresse IP 172.16.16.15, le serveur DNS nommé dns-2.labomicrosoft.lan renvoie le nom de domaine pleinement qualifié client-6.labomicrosoft.lan.

 

utiliser dnscmd

dnscmd est un utilitaire permettant d'administrer votre serveur DNS sans passer par la console MMC. Vous pouvez ainsi réaliser diverses tâches allant de la création d'un enregistrement à la suppression d'une zone. Cela peut s'avérer utile pour créer des scripts automatisant certaines tâches (par exemple la création d'enregistrements A et PTR).

Il n'est pas disponible en standard sous Windows 2003 Server mais on peut l'installer avec les outils de support. Pour cela, il faut développer SUPPORT/TOOLS dans le CD-ROM de Windows 2003 Server, puis faire clic-droit / Explorer sur le fichier SUPPORT.CAB. Il suffit ensuite d'extraire le fichier dnscmd.exe dans le répertoire %SYSTEMROOT%\system32 afin que la commande soit directement utilisable depuis l'invite de commande. Bien entendu, vous pouvez extraire ce fichier dans tout autre répertoire contenu dans la variable d'environnement Path. Si vous ne disposez pas du CD-ROM d'installation de Windows 2003 Server, vous pouvez télécharger les outils de support pour Windows XP Service Pack 2 qui contiennent cet utilitaire.

Vous pouvez par exemple utilisez dnscmd pour ajouter ou supprimer une zone DNS. Voici la syntaxe à respecter pour l'ajout d'une zone DNS principale : dnscmd <serveur_DNS> /ZoneAdd <nom_de_zone> /Primary /File <nom_du_fichier_de_zone>.


Ajout/Suppression d'une zone DNS avec l'outil en ligne de commande dnscmd.exe

L'utilitaire dnscmd.exe peut aussi être utilisé afin de rajouter des enregistrements de ressources dans une zone DNS. Pour ajouter un enregistrement de ressource, il faut utiliser la syntaxe suivante : dnscmd <serveur_dns> /RecordAdd <nom_zone_DNS> <nom_hôte> <type_enregistrement> <adresse_IP>. L'exemple ci-dessous montre comment ajouter un enregistrement de ressource A et un enregistrement de ressources PTR.


Ajout d'enregistrements de ressources à l'aide de l'outil en ligne de commande dnscmd.exe

Dnscmd.exe peut aussi être utilisé pour forcer la réplication d'une zone DNS.

 

utiliser dnslint

Dnslint est un outil qui permet de diagnostiquer les problèmes liés à la résolution de noms d'hôtes. Il permet par exemple de vérifier les enregistrements de ressources utilisés spécifiquement pour la réplication Active Directory. Dnslint est disponible avec les outils de support sur le CD-ROM de Windows 2003 Server. Vous pouvez également le télécharger ici.

L'avantage de dnslint.exe est qu'il permet de générer des rapports au format HTML sur l'implémentation du système DNS à l'intérieur d'une forêt Active Directory. Le rapport crée liste entre autre, l'ensemble de serveurs DNS de la forêt ainsi qu'un grand nombre d'informations les concernant. La syntaxe à utiliser pour créer un rapport est : dnslint /ad <adresse_IP_contrôleur_de_domaine> /s <adresse_IP_serveur_DNS>.


utilisation de l'outil en ligne de commande dnslint.exe

 

Voici un extrait du rapport généré par l'utilitaire dnslint.exe :

 

Si vous souhaitez obtenir des informations détaillées concernant ce produit, vous pouvez vous référer à la base de connaissance Microsoft - 321045.

Les commandes de DNS Lint

DNSLint propose trois fonctions qui vérifient des enregistrements DNS (Domain Name System) et génèrent un rapport HTML. Ces trois fonctions sont les suivantes : • dnslint /d : permet de diagnostiquer les causes potentielles de "délégation boiteuse" et autres problèmes DNS.
• dnslint /ql : vérifie un ensemble d'enregistrements DNS défini par l'utilisateur sur plusieurs serveurs DNS.
• dnslint /ad : vérifie des enregistrements DNS utilisés spécifiquement pour la réplication Active Directory.
DNSLint est un utilitaire de ligne de commande. La syntaxe est la suivante :

dnslint /d nom_domaine | /ad [adresse_LDAP_IP] | /ql fichier_entrée
[/c [smtp,pop,imap]] [/no_open] [/r nom_rapport]
[/t] [/test_tcp] [/s adresse_IP_DNS] [/v] [/y]

Vous devez spécifier /d, /ad ou /ql lorsque vous exécutez DNSLint. Les autres paramètres sont facultatifs.

Le paramètre /d permet de demander des tests de noms de domaine. Il est utile lors de la résolution des problèmes de délégation boiteuse.


• Vous devez spécifier un nom de domaine à tester.
• Vous ne pouvez pas utiliser le paramètre /d avec le paramètre /ad.
Le paramètre /ad permet de demander des tests Active Directory. • Il résout les enregistrements DNS utilisés pour la réplication de forêt Active Directory.
• Par défaut, le service LDAP du système local est utilisé.
• Vous pouvez spécifier une adresse IP de serveur LDAP distant (facultatif).
• Seules les adresses IP valides sont acceptées. Les noms ne sont pas acceptés.

En général, il s'agit d'un contrôleur de domaine Active Directory.


• Vous devez utiliser le paramètre /ad avec l'option /s, où /s spécifie l'adresse IP d'un serveur DNS faisant autorité pour la zone _msdcs dans la racine de la forêt Active Directory.
• Vous ne pouvez pas utiliser le paramètre /ad avec /d ni /c.
Le paramètre /ql permet de demander des tests de requêtes DNS à partir d'une liste.
• Le paramètre /ql envoie les requêtes DNS spécifiées dans un fichier d'entrée texte.
• Vous devez spécifier le chemin d'accès et le nom du fichier d'entrée.
• Le paramètre /ql prend en charge les requêtes d'enregistrement A, PTR, CNAME, SRV et MX.
• Vous pouvez créer un exemple de fichier d'entrée en exécutant la commande suivante :
dnslint /ql autocreate
• Vous ne pouvez pas utiliser le paramètre /ql avec /d, /ad ni /c.
REMARQUES : • Vous ne pouvez pas utiliser /d, /ad et /ql ensemble.
• Vous ne pouvez pas utiliser /c avec /ad ou /ql.
• Lorsque vous utilisez /ad, vous devez aussi spécifier /s.

Paramètres facultatifs

Utilisez /c pour demander des tests de connectivité sur des serveurs de messagerie électronique.
• Le paramètre /c teste les ports SMTP, POP et IMAP sur les serveurs de messagerie trouvés.
• Par défaut, les trois ports (SMTP, POP et IMAP) sont testés. Vous pouvez spécifier un port ou plusieurs ports. Pour cela, utilisez séparez les éléments par des virgules : /c pop,imap,smtp.
Pour empêcher l'ouverture automatique du rapport, utilisez /no_open. Le paramètre /no_open est utile dans les scripts.

Utilisez le paramètre /r pour spécifier le nom du fichier du rapport créé. • L'extension de nom de fichier .htm est automatiquement ajoutée aux noms des rapports.
• Le rapport est créé au format HTML. Le nom par défaut est Dnslint.htm
• L'emplacement par défaut est le répertoire actif.
Utilisez le paramètre /s pour contourner une recherche Whois InterNIC. • Vous pouvez spécifier une adresse IP de serveur DNS au lieu d'interroger InterNIC pour en obtenir une.
• Le paramètre /s commence à vérifier les enregistrements DNS en utilisant l'adresse IP fournie.
• Seules les adresses IP valides sont acceptées. Les noms ne sont pas acceptés.
• Utilisez cette option pour vérifier les noms de domaine qui ne sont pas pris en charge par InterNIC.
• Lorsque vous utilisez /ad, vous devez utiliser /s pour spécifier un serveur DNS faisant autorité pour le sous-domaine _msdcs dans le domaine racine de la forêt Active Directory.
• Lorsque vous utilisez /ad, vous pouvez exécuter /s localhost pour déterminer si le système local peut résoudre les enregistrements trouvés durant les tests Active Directory.
Utilisez /t pour obtenir les résultats dans un fichier texte. • Le fichier texte partage le même nom que le rapport html, mais il possède une extension de nom de fichier .txt.
• Le fichier texte est créé dans le même répertoire que le fichier de rapport .htm.
Utilisez /test_tcp pour demander le test du port TCP 53. • Par défaut, seul le port UDP 53 est testé.
• L'option /test_tcp vérifie si le port TCP 53 répond aux demandes.
• L'option /test_tcp ne peut pas être utilisée avec /ql.
Utilisez /v pour demander une sortie avec commentaires à l'écran.

Utilisez /y pour remplacer un fichier de rapport existant sans afficher d'invite.
Le paramètre /y est utile dans les scripts.


Paramètres obligatoires

Pour utiliser DNSLint, vous devez utiliser l'un des paramètres suivants : 1. Utilisez /d pour les tests de noms de domaine.
2. Utilisez /ad pour les tests de réplication Active Directory.
3. Utilisez /ql pour les tests spécifiés dans une liste de requêtes.
Utilisez le paramètre /d (test de noms de domaine) pour tester un nom de domaine DNS spécifique. Utilisez ce paramètre pour diagnostiquer les problèmes de "délégation boiteuse" et autres problèmes DNS connexes. Le nom de domaine testé peut être un nom enregistré pour une utilisation sur Internet ou un nom utilisé dans un espace de noms privé. Lorsque vous testez des noms de domaine sur un réseau privé ou des noms de domaine enregistrés sur Internet qui sont à plus de deux niveaux de profondeur, vous devez utiliser l'option /s.

Utilisez le paramètre /ad (test Active Directory) pour tester les enregistrements DNS responsables de la réplication de forêt Active Directory. Après le paramètre /ad, spécifiez l'adresse IP d'un serveur LDAP à utiliser pour ce test. En général, il s'agit d'un contrôleur de domaine Active Directory. Si DNSLint est exécuté sur un contrôleur de domaine, aucune adresse IP n'est nécessaire car la valeur par défaut de ce paramètre est 127.0.0.1.

Utilisez le paramètre /ql (test de liste de requêtes) pour tester les enregistrements DNS spécifiés dans un fichier texte d'entrée. Spécifiez le chemin d'accès complet et le nom du fichier d'entrée texte juste après le paramètre. Exécutez dnslint /ql autocreate pour générer un exemple de fichier d'entrée texte nommé In-dnslint.txt. Ce fichier contient une explication du format requis. Vous pouvez l'utiliser comme modèle pour créer d'autres fichiers d'entrée.


Autres paramètres facultatifs


Le paramètre /v active le "mode commenté". Lorsque vous l'utilisez, DNSLint affiche à l'écran les actions effectuées pour recueillir les données. Vous pouvez envoyer ces informations vers un fichier. Par exemple, dnslint /v /d msn.com.
Par défaut, le nom du rapport généré par DNSLint est Dnslint.htm. Avec le paramètre /r (rapport), vous pouvez spécifier le nom et l'emplacement du fichier de rapport généré par DNSLint. Vous pouvez attribuer au fichier de rapport le même nom que le domaine ou le serveur DNS testé. L'extension de nom de fichier ".htm" est ajoutée automatiquement au nom du rapport car le rapport est au format HTML.

Par défaut, DNSLint essaie d'ouvrir automatiquement le fichier de rapport après sa création à l'aide du programme associé à l'extension .htm du fichier de rapport. En général, Microsoft Internet Explorer est associé à l'extension .htm. Il n'y a aucun moyen de modifier le format du rapport à l'aide de DNSLint.

Pour définir l'emplacement d'écriture du fichier de rapport, spécifiez le chemin d'accès complet et le nom du fichier de rapport. DNSLint prend en charge les chemins d'accès vers les disques locaux et les chemins d'accès UNC (Universal Naming Convention). Par exemple, la commande dnslint /d msn.com /r c:\rapports\reskit crée un rapport nommé Reskit.htm dans le dossier C:\Rapports. La commande dnslint /d mondom.local /r \\serveur1\rapports\mondom crée un rapport sur le système distant nommé serveur1 dans le partage Rapports. Le rapport se nomme Mondom.htm.


Si vous spécifiez le paramètre /t (texte), DNSLint génère un rapport texte et un rapport HTML. Le rapport texte utilise le même nom que le rapport .htm, mais son extension de nom de fichier est .txt. Le fichier est créé dans le même dossier sur le fichier .htm. Par exemple, la commande dnslint /d msn.com /r c:\rapports\reskit /t crée deux rapports dans le dossier C:\Rapports. Un rapport est nommé Reskit.htm et l'autre Reskit.txt.

Par défaut, lorsque DNSLint détecte qu'il existe déjà dans le dossier cible un fichier de rapport avec le même nom que celui qui va être généré, DNSLint vous invite à remplacer le fichier. Avec l'option /y, DNSLint peut remplacer un fichier de rapport existant sans vous demander l'autorisation. Le fichier .htm et le fichier .txt facultatif sont tous deux remplacés lorsque vous utilisez cette option.

La commande dnslint /y /d msn.com /r c:\rapports\reskit /t crée deux rapports dans le dossier C:\Rapports. Un rapport est nommé Reskit.htm et l'autre Reskit.txt. Les fichiers de rapport existants sont remplacés sans qu'aucune invite ne soit affichée.

Le paramètre /no_open empêche DNSLint d'ouvrir automatiquement le rapport après sa création. Cette option est utile lorsque vous utilisez DNSLint dans des scripts quand vous ne souhaitez pas consulter immédiatement les rapports ou les consulter à partir du système sur lequel DNSLint a été exécuté. Par exemple, la commande dnslint /y /d msn.com /no_open génère un rapport nommé Dnslint.htm qui remplace un rapport existant portant le même nom, sans demander confirmation à l'utilisateur. DNSLint n'ouvre pas automatiquement le rapport une fois l'opération terminée.

Utilisez l'option /test_tcp (tester le port TCP 53) pour demander le test du port TCP 53 lors de l'utilisation du paramètre /d. De nos jours, de nombreux serveurs DNS sur Internet n'acceptent pas les requêtes DNS sur le port TCP 53 afin d'éviter d'éventuelles attaques sur ce port. Par défaut, seul le port UDP 53 est testé lors de l'exécution de DNSLint. Lorsque vous spécifiez l'option /test_tcp, DNSLint envoie une requête DNS par protocole TCP et signale si une réponse a été reçue.

Vous pouvez utiliser l'option /test_tcp avec /d et /ad. Par contre, vous ne pouvez pas utiliser l'option /test_tcp avec /ql ni la combinaison /ad /s localhost. Avec la fonction /ql, le port TCP 53 peut être testé directement à partir du fichier d'entrée. La fonction /ad /s localhost teste si les serveurs DNS configurés localement peuvent résoudre les enregistrements DNS utilisés pour la réplication de forêt Active Directory. Vous pouvez tester la connectivité du port TCP 53 en utilisant plutôt /ad /s adresse_IP, où adresse_IP correspond à l'adresse IP d'un serveur DNS faisant autorité pour la zone _msdcs dans la racine du domaine Active Directory.

Par exemple :
dnslint /d microsoft.com /v /test_tcp
Le paramètre /c (test de connectivité) fait en sorte que DNSLint teste les ports de messagerie électronique bien connus sur tous les serveurs de messagerie trouvés lors de l'inspection des serveurs DNS pour le nom de domaine spécifié. Les protocoles SMTP (Simple Mail Transfer Protocol), POP (Post Office Protocol) version 3 et IMAP (Internet Message Access Protocol) version 4 sont pris en charge. Par défaut, lorsque le paramètre /c est spécifié, DNSLint essaie de se connecter aux trois ports sur chaque serveur de messagerie trouvé, à savoir le port TCP 25 pour le protocole SMTP, le port TCP 110 pour le protocole POP et le port TCP 143 pour le protocole IMAP.

DNSLint signale l'état de chaque port : "Listening", "Not Listening" ou "No Response." Si DNSLint détecte qu'un port est à l'écoute, il renvoie également la réponse du port le cas échéant. Par exemple, si un port SMTP est à l'écoute, il renvoie généralement une réponse conforme aux spécifications du protocole SMTP, telle que la suivante :

220 mailsrv.reskit.com Microsoft ESMTP MAIL Service, Version: 5.0.2195.3705 ready at Mon, 13 May 2002 17:08:36 -0700

Lorsque DNSLint signale qu'un port n'est pas à l'écoute, cela signifie que le serveur de messagerie interrogé a répondu par un paquet TCP avec l'indicateur Reset activé, c'est-à-dire qu'il n'y a aucun service ou programme à l'écoute sur le port.

"No Response" est renvoyé lorsque le serveur de messagerie cible ne répond pas à la tentative de connexion. Si l'on admet que le serveur cible est opérationnel et en cours d'exécution, cela veut dire que le port est filtré sur le serveur cible ou quelque part entre le client qui exécute DNSLint et le serveur cible.

La commande dnslint /y /v /c /d msn.com génère un rapport nommé Dnslint.htm qui remplace un rapport existant portant le même nom, sans demander confirmation à l'utilisateur. L'option /c étant spécifiée, une section supplémentaire est ajoutée au bas du rapport DNSLint standard :
Network Connectivity Tests
E-mail server: smtp-gw-4.msn.com
IP address: 207.46.181.13

SMTP response:
220 cpimssmtpa18.msn.com Microsoft ESMTP MAIL Service, Version:
5.0.2195.4905 ready at Tue, 14 May 2002 09:26:06 -0700

POP response: NO RESPONSE (possibly filtered)

IMAP response: NO RESPONSE (possibly filtered)
NOTES:

One or more POP servers did not respond.
One or more IMAP servers did not respond.

Lorsqu'un serveur de messagerie cible ne répond pas à une tentative de connexion sur un de ses ports de messagerie électronique, DNSLint réessaie d'établir la connexion à trois reprises. Il s'agit du comportement par défaut pour un client TCP. DNSLint attendant l'expiration du délai d'attente de trois tentatives de connexions TCP avant d'indiquer "No Response", ce processus peut ralentir la génération du rapport. Pour optimiser l'exécution de DNSLint, vous pouvez spécifier le ou les ports de messagerie à vérifier au lieu de vérifier les trois ports à chaque fois.

Par défaut, lorsque l'option /c est spécifiée, les trois ports TCP (25, 110 et 143) sont vérifiés. Mais vous pouvez spécifier les ports à vérifier après l'option /c. Spécifiez une liste d'éléments séparés par des virgules juste après l'option /c. Spécifiez uniquement des ports valides : smtp,pop,imap. Toute combinaison de ces trois ports est valide. Par exemple, la commande dnslint /d reskit.com /c smtp spécifie que seul le port SMTP (port TCP 25) doit être vérifié.


La commande dnslint /d reskit.com /c pop,smtp spécifie que seuls les ports SMTP (port TCP 25) et POP (port TCP 110) doivent être vérifiés.

La commande dnslint /d reskit.com /c imap,pop spécifie que seuls les ports IMAP (port TCP 143) et POP (port TCP 110) doivent être vérifiés.


Vous pouvez utiliser le paramètre /s (serveur) avec les fonctions /d et /ad. Le paramètre /s a plusieurs fonctions mais il ne prend qu'un seul type de données, l'adresse IP valide d'un serveur DNS (à une exception près).

Lorsque vous spécifiez /d, l'option /s contourne la recherche Whois InterNIC effectuée par défaut par DNSLint. En conséquence, DNSLint peut exécuter des tests sur des réseaux privés et sur des noms de domaine plus profonds que les domaines de deuxième niveau sur Internet. DNSLint peut également tester des noms de domaine non pris en charge par InterNIC. À la date de rédaction de cet article, InterNIC prenait en charge les recherches Whois pour les domaines suivants : .biz, .com, .coop, .edu, .info, .int, .museum, .net et .org.

Lorsque vous utilisez /ad, le paramètre /s est utilisé pour spécifier l'adresse IP d'un serveur DNS faisant autorité pour le sous-domaine où sont enregistrés les enregistrements DNS utilisés pour la réplication de forêt Active Directory. En général, il s'agit du sous-domaine _msdcs qui se trouve sous la racine de la forêt Active Directory. Par exemple, si la racine de la forêt Active Directory se nomme myad.reskit.com, le serveur DNS qui héberge ce domaine peut également faire autorité pour la zone _msdcs.myad.reskit.com, où sont enregistrés les enregistrements DNS utilisés pour la réplication Active Directory. Si vous préférez, la zone _msdcs.myad.reskit.com peut être déléguée à un autre serveur DNS. Quelle que soit la conception de l'infrastructure DNS, l'option /s est utilisée pour spécifier un serveur DNS faisant autorité pour la zone _msdcs.myad.reskit.com.

L'option /s doit spécifier une adresse IP valide. La seule exception à cette règle est la combinaison suivante :
dnslint /ad /s localhost
"localhost" n'est pas une adresse IP valide. Lorsque vous spécifiez ce paramètre avec la combinaison /ad /s, DNSLint teste la capacité du système local (celui qui exécute DNSLint) à résoudre les enregistrements DNS utilisés pour la réplication de forêt Active Directory. Des requêtes DNS récursives sont envoyées au(x) serveur(s) DNS configuré(s) sur le système local afin de confirmer que celui-ci est capable de résoudre les enregistrements DNS utilisés pour la réplication de forêt Active Directory. Cela peut être utile lors de la résolution des problèmes de réplication Active Directory sur un contrôleur de domaine particulier.

En général, tous les serveurs DNS configurés sur le système local ne sont pas interrogés durant ce processus. Le comportement de résolution du client DNS par défaut est observé ; ainsi, si le serveur DNS en tête de liste des serveurs DNS du système local ne répond pas, le serveur suivant est utilisé.